import type { ThemeRegistration } from "shiki"

export const lumosDarkTheme: ThemeRegistration = {
   name: "lumos-dark",
   type: "dark",
   colors: {
      "activityBar.activeBorder": "#9945FF",
      "activityBar.background": "#121212",
      "activityBar.border": "#191919",
      "activityBar.foreground": "#dbd7caee",
      "activityBar.inactiveForeground": "#dedcd550",
      "activityBarBadge.background": "#bfbaaa",
      "activityBarBadge.foreground": "#121212",
      "badge.background": "#dedcd590",
      "badge.foreground": "#121212",
      "breadcrumb.activeSelectionForeground": "#eeeeee15",
      "breadcrumb.background": "#181818",
      "breadcrumb.focusForeground": "#dbd7caee",
      "breadcrumb.foreground": "#959da5",
      "breadcrumbPicker.background": "#121212",
      "button.background": "#9945FF",
      "button.foreground": "#121212",
      "button.hoverBackground": "#9945FF",
      "checkbox.background": "#181818",
      "checkbox.border": "#2f363d",
      "debugToolBar.background": "#121212",
      descriptionForeground: "#dedcd590",
      "diffEditor.insertedTextBackground": "#4d937522",
      "diffEditor.removedTextBackground": "#ab595922",
      "dropdown.background": "#121212",
      "dropdown.border": "#191919",
      "dropdown.foreground": "#dbd7caee",
      "dropdown.listBackground": "#181818",
      "editor.background": "#121212",
      "editor.findMatchBackground": "#e6cc7722",
      "editor.findMatchHighlightBackground": "#e6cc7744",
      "editor.focusedStackFrameHighlightBackground": "#b808",
      "editor.foldBackground": "#eeeeee10",
      "editor.foreground": "#dbd7caee",
      "editor.inactiveSelectionBackground": "#eeeeee08",
      "editor.lineHighlightBackground": "#181818",
      "editor.selectionBackground": "#eeeeee15",
      "editor.selectionHighlightBackground": "#eeeeee08",
      "editor.stackFrameHighlightBackground": "#a707",
      "editor.wordHighlightBackground": "#1c6b4805",
      "editor.wordHighlightStrongBackground": "#1c6b4810",
      "editorBracketHighlight.foreground1": "#00FFFF",
      "editorBracketHighlight.foreground2": "#14F195",
      "editorBracketHighlight.foreground3": "#ff9900",
      "editorBracketHighlight.foreground4": "#EB459E",
      "editorBracketHighlight.foreground5": "#FEE75C",
      "editorBracketHighlight.foreground6": "#5865F2",
      "editorBracketMatch.background": "#4d937520",
      "editorError.foreground": "#ED4245",
      "editorGroup.border": "#191919",
      "editorGroupHeader.tabsBackground": "#121212",
      "editorGroupHeader.tabsBorder": "#191919",
      "editorGutter.addedBackground": "#14F195",
      "editorGutter.commentRangeForeground": "#dedcd550",
      "editorGutter.deletedBackground": "#ED4245",
      "editorGutter.foldingControlForeground": "#dedcd590",
      "editorGutter.modifiedBackground": "#5865F2",
      "editorHint.foreground": "#14F195",
      "editorIndentGuide.activeBackground": "#ffffff30",
      "editorIndentGuide.background": "#ffffff15",
      "editorInfo.foreground": "#5865F2",
      "editorInlayHint.background": "#00000000",
      "editorInlayHint.foreground": "#FF00F",
      "editorLineNumber.activeForeground": "#bfbaaa",
      "editorLineNumber.foreground": "#dedcd550",
      "editorOverviewRuler.border": "#111",
      "editorStickyScroll.background": "#181818",
      "editorStickyScrollHover.background": "#181818",
      "editorWarning.foreground": "#ff9900",
      "editorWhitespace.foreground": "#ffffff15",
      "editorWidget.background": "#121212",
      errorForeground: "#ED4245",
      focusBorder: "#00000000",
      foreground: "#dbd7caee",
      "gitDecoration.addedResourceForeground": "#14F195",
      "gitDecoration.conflictingResourceForeground": "#ff9900",
      "gitDecoration.deletedResourceForeground": "#ED4245",
      "gitDecoration.ignoredResourceForeground": "#dedcd550",
      "gitDecoration.modifiedResourceForeground": "#5865F2",
      "gitDecoration.submoduleResourceForeground": "#dedcd590",
      "gitDecoration.untrackedResourceForeground": "#00FFFF",
      "input.background": "#181818",
      "input.border": "#191919",
      "input.foreground": "#dbd7caee",
      "input.placeholderForeground": "#dedcd590",
      "inputOption.activeBackground": "#dedcd550",
      "list.activeSelectionBackground": "#181818",
      "list.activeSelectionForeground": "#dbd7caee",
      "list.focusBackground": "#181818",
      "list.highlightForeground": "#9945FF",
      "list.hoverBackground": "#181818",
      "list.hoverForeground": "#dbd7caee",
      "list.inactiveFocusBackground": "#121212",
      "list.inactiveSelectionBackground": "#181818",
      "list.inactiveSelectionForeground": "#dbd7caee",
      "menu.separatorBackground": "#191919",
      "notificationCenterHeader.background": "#121212",
      "notificationCenterHeader.foreground": "#959da5",
      "notifications.background": "#121212",
      "notifications.border": "#191919",
      "notifications.foreground": "#dbd7caee",
      "notificationsErrorIcon.foreground": "#ED4245",
      "notificationsInfoIcon.foreground": "#5865F2",
      "notificationsWarningIcon.foreground": "#ff9900",
      "panel.background": "#121212",
      "panel.border": "#191919",
      "panelInput.border": "#2f363d",
      "panelTitle.activeBorder": "#9945FF",
      "panelTitle.activeForeground": "#dbd7caee",
      "panelTitle.inactiveForeground": "#959da5",
      "peekViewEditor.background": "#121212",
      "peekViewEditor.matchHighlightBackground": "#ffd33d33",
      "peekViewResult.background": "#121212",
      "peekViewResult.matchHighlightBackground": "#ffd33d33",
      "pickerGroup.border": "#191919",
      "pickerGroup.foreground": "#dbd7caee",
      "problemsErrorIcon.foreground": "#ED4245",
      "problemsInfoIcon.foreground": "#5865F2",
      "problemsWarningIcon.foreground": "#ff9900",
      "progressBar.background": "#9945FF",
      "quickInput.background": "#121212",
      "quickInput.foreground": "#dbd7caee",
      "quickInputList.focusBackground": "#181818",
      "scrollbar.shadow": "#0000",
      "scrollbarSlider.activeBackground": "#dedcd550",
      "scrollbarSlider.background": "#dedcd510",
      "scrollbarSlider.hoverBackground": "#dedcd550",
      "settings.headerForeground": "#dbd7caee",
      "settings.modifiedItemIndicator": "#9945FF",
      "sideBar.background": "#121212",
      "sideBar.border": "#191919",
      "sideBar.foreground": "#bfbaaa",
      "sideBarSectionHeader.background": "#121212",
      "sideBarSectionHeader.border": "#191919",
      "sideBarSectionHeader.foreground": "#dbd7caee",
      "sideBarTitle.foreground": "#dbd7caee",
      "statusBar.background": "#121212",
      "statusBar.border": "#191919",
      "statusBar.debuggingBackground": "#181818",
      "statusBar.debuggingForeground": "#bfbaaa",
      "statusBar.foreground": "#bfbaaa",
      "statusBar.noFolderBackground": "#121212",
      "statusBarItem.prominentBackground": "#181818",
      "tab.activeBackground": "#121212",
      "tab.activeBorder": "#191919",
      "tab.activeBorderTop": "#9945FF",
      "tab.activeForeground": "#dbd7caee",
      "tab.border": "#191919",
      "tab.hoverBackground": "#181818",
      "tab.inactiveBackground": "#121212",
      "tab.inactiveForeground": "#959da5",
      "tab.unfocusedActiveBorder": "#191919",
      "tab.unfocusedActiveBorderTop": "#191919",
      "tab.unfocusedHoverBackground": "#121212",
      "terminal.ansiBlack": "#393a34",
      "terminal.ansiBlue": "#5865F2",
      "terminal.ansiBrightBlack": "#777777",
      "terminal.ansiBrightBlue": "#5865F2",
      "terminal.ansiBrightCyan": "#00FFFF",
      "terminal.ansiBrightGreen": "#14F195",
      "terminal.ansiBrightMagenta": "#EB459E",
      "terminal.ansiBrightRed": "#ED4245",
      "terminal.ansiBrightWhite": "#ffffff",
      "terminal.ansiBrightYellow": "#FEE75C",
      "terminal.ansiCyan": "#00FFFF",
      "terminal.ansiGreen": "#14F195",
      "terminal.ansiMagenta": "#EB459E",
      "terminal.ansiRed": "#ED4245",
      "terminal.ansiWhite": "#dbd7caee",
      "terminal.ansiYellow": "#FEE75C",
      "terminal.foreground": "#dbd7caee",
      "terminal.selectionBackground": "#eeeeee15",
      "textBlockQuote.background": "#121212",
      "textBlockQuote.border": "#191919",
      "textCodeBlock.background": "#121212",
      "textLink.activeForeground": "#9945FF",
      "textLink.foreground": "#9945FF",
      "textPreformat.foreground": "#d1d5da",
      "textSeparator.foreground": "#586069",
      "titleBar.activeBackground": "#121212",
      "titleBar.activeForeground": "#bfbaaa",
      "titleBar.border": "#181818",
      "titleBar.inactiveBackground": "#121212",
      "titleBar.inactiveForeground": "#959da5",
      "tree.indentGuidesStroke": "#2f363d",
      "welcomePage.buttonBackground": "#2f363d",
      "welcomePage.buttonHoverBackground": "#444d56",
   },
   semanticHighlighting: true,
   semanticTokenColors: {
      class: "#CCFF00",
      interface: "#FF078A",
      namespace: "#FF780A",
      property: "#9945FF",
      type: "#FF078A",
   },
   tokenColors: [
      {
         scope: ["comment", "punctuation.definition.comment", "string.comment"],
         settings: {
            foreground: "#758575dd",
         },
      },
      {
         scope: [
            "delimiter.bracket",
            "delimiter",
            "invalid.illegal.character-not-allowed-here.html",
            "keyword.operator.rest",
            "keyword.operator.spread",
            "keyword.operator.type.annotation",
            "keyword.operator.relational",
            "keyword.operator.assignment",
            "meta.brace",
            "meta.tag.block.any.html",
            "meta.tag.inline.any.html",
            "meta.tag.structure.input.void.html",
            "meta.type.annotation",
            "meta.embedded.block.github-actions-expression",
            "storage.type.function.arrow",
            "keyword.operator.type",
            "meta.objectliteral.ts",
            "punctuation",
         ],
         settings: {
            foreground: "#FF00F",
         },
      },
      {
         scope: [
            "constant",
            "entity.name.constant",
            "variable.language",
            "meta.definition.variable",
         ],
         settings: {
            foreground: "#CCFF00",
         },
      },
      {
         scope: ["entity", "entity.name"],
         settings: {
            foreground: "#FEE75C",
         },
      },
      {
         scope: "variable.parameter.function",
         settings: {
            foreground: "#dbd7caee",
         },
      },
      {
         scope: ["entity.name.tag", "tag.html"],
         settings: {
            foreground: "#14F195",
         },
      },
      {
         scope: "entity.name.function",
         settings: {
            foreground: "#FEE75C",
         },
      },
      {
         scope: ["keyword", "storage.type.class.jsdoc"],
         settings: {
            foreground: "#14F195",
         },
      },
      {
         scope: [
            "storage",
            "storage.type",
            "support.type.builtin",
            "constant.language.undefined",
            "constant.language.null",
         ],
         settings: {
            foreground: "#14F195",
         },
      },
      {
         scope: [
            "text.html.derivative",
            "storage.modifier.package",
            "storage.modifier.import",
            "storage.type.java",
         ],
         settings: {
            foreground: "#dbd7caee",
         },
      },
      {
         scope: [
            "string",
            "string punctuation.section.embedded source",
            "attribute.value",
         ],
         settings: {
            foreground: "#ff9900",
         },
      },
      {
         scope: [
            "punctuation.definition.string",
            "punctuation.support.type.property-name",
         ],
         settings: {
            foreground: "#ff990099",
         },
      },
      {
         scope: "support",
         settings: {
            foreground: "#9945FF",
         },
      },
      {
         scope: [
            "property",
            "meta.property-name",
            "meta.object-literal.key",
            "entity.name.tag.yaml",
            "attribute.name",
         ],
         settings: {
            foreground: "#9945FF",
         },
      },
      {
         scope: [
            "entity.other.attribute-name",
            "invalid.deprecated.entity.other.attribute-name.html",
         ],
         settings: {
            foreground: "#00FFFF",
         },
      },
      {
         scope: ["variable", "identifier"],
         settings: {
            foreground: "#00FFFF",
         },
      },
      {
         scope: ["support.type.primitive", "entity.name.type"],
         settings: {
            foreground: "#CCFF00",
         },
      },
      {
         scope: "namespace",
         settings: {
            foreground: "#FF780A",
         },
      },
      {
         scope: [
            "keyword.operator",
            "keyword.operator.assignment.compound",
            "meta.var.expr.ts",
         ],
         settings: {
            foreground: "#FF00FF",
         },
      },
      {
         scope: "invalid.broken",
         settings: {
            fontStyle: "italic",
            foreground: "#fdaeb7",
         },
      },
      {
         scope: "invalid.deprecated",
         settings: {
            fontStyle: "italic",
            foreground: "#fdaeb7",
         },
      },
      {
         scope: "invalid.illegal",
         settings: {
            fontStyle: "italic",
            foreground: "#fdaeb7",
         },
      },
      {
         scope: "invalid.unimplemented",
         settings: {
            fontStyle: "italic",
            foreground: "#fdaeb7",
         },
      },
      {
         scope: "carriage-return",
         settings: {
            background: "#f97583",
            fontStyle: "italic underline",
            foreground: "#24292e",
         },
      },
      {
         scope: "message.error",
         settings: {
            foreground: "#fdaeb7",
         },
      },
      {
         scope: "string variable",
         settings: {
            foreground: "#ff9900",
         },
      },
      {
         scope: ["source.regexp", "string.regexp"],
         settings: {
            foreground: "#ffea7f",
         },
      },
      {
         scope: [
            "string.regexp.character-class",
            "string.regexp constant.character.escape",
            "string.regexp source.ruby.embedded",
            "string.regexp string.regexp.arbitrary-repitition",
         ],
         settings: {
            foreground: "#ff9900",
         },
      },
      {
         scope: "string.regexp constant.character.escape",
         settings: {
            foreground: "#FEE75C",
         },
      },
      {
         scope: ["support.constant"],
         settings: {
            foreground: "#CCFF00",
         },
      },
      {
         scope: ["constant.numeric", "number"],
         settings: {
            foreground: "#FEE75C",
         },
      },
      {
         scope: ["keyword.other.unit"],
         settings: {
            foreground: "#14F195",
         },
      },
      {
         scope: ["constant.language.boolean", "constant.language"],
         settings: {
            foreground: "#FF078A",
         },
      },
      {
         scope: "meta.module-reference",
         settings: {
            foreground: "#9945FF",
         },
      },
      {
         scope: "punctuation.definition.list.begin.markdown",
         settings: {
            foreground: "#ff9900",
         },
      },
      {
         scope: ["markup.heading", "markup.heading entity.name"],
         settings: {
            fontStyle: "bold",
            foreground: "#9945FF",
         },
      },
      {
         scope: "markup.quote",
         settings: {
            foreground: "#FF078A",
         },
      },
      {
         scope: "markup.italic",
         settings: {
            fontStyle: "italic",
            foreground: "#dbd7caee",
         },
      },
      {
         scope: "markup.bold",
         settings: {
            fontStyle: "bold",
            foreground: "#dbd7caee",
         },
      },
      {
         scope: "markup.raw",
         settings: {
            foreground: "#9945FF",
         },
      },
      {
         scope: [
            "markup.deleted",
            "meta.diff.header.from-file",
            "punctuation.definition.deleted",
         ],
         settings: {
            background: "#86181d",
            foreground: "#fdaeb7",
         },
      },
      {
         scope: [
            "markup.inserted",
            "meta.diff.header.to-file",
            "punctuation.definition.inserted",
         ],
         settings: {
            background: "#144620",
            foreground: "#85e89d",
         },
      },
      {
         scope: ["markup.changed", "punctuation.definition.changed"],
         settings: {
            background: "#c24e00",
            foreground: "#ffab70",
         },
      },
      {
         scope: ["markup.ignored", "markup.untracked"],
         settings: {
            background: "#79b8ff",
            foreground: "#2f363d",
         },
      },
      {
         scope: "meta.diff.range",
         settings: {
            fontStyle: "bold",
            foreground: "#b392f0",
         },
      },
      {
         scope: "meta.diff.header",
         settings: {
            foreground: "#79b8ff",
         },
      },
      {
         scope: "meta.separator",
         settings: {
            fontStyle: "bold",
            foreground: "#79b8ff",
         },
      },
      {
         scope: "meta.output",
         settings: {
            foreground: "#79b8ff",
         },
      },
      {
         scope: [
            "brackethighlighter.tag",
            "brackethighlighter.curly",
            "brackethighlighter.round",
            "brackethighlighter.square",
            "brackethighlighter.angle",
            "brackethighlighter.quote",
         ],
         settings: {
            foreground: "#d1d5da",
         },
      },
      {
         scope: "brackethighlighter.unmatched",
         settings: {
            foreground: "#fdaeb7",
         },
      },
      {
         scope: [
            "constant.other.reference.link",
            "string.other.link",
            "punctuation.definition.string.begin.markdown",
            "punctuation.definition.string.end.markdown",
         ],
         settings: {
            foreground: "#ff9900",
         },
      },
      {
         scope: ["markup.underline.link.markdown"],
         settings: {
            fontStyle: "underline",
            foreground: "#dedcd590",
         },
      },
      {
         scope: ["type.identifier"],
         settings: {
            foreground: "#CCFF00",
         },
      },
      {
         scope: ["entity.other.attribute-name.html.vue"],
         settings: {
            foreground: "#FEE75C",
         },
      },
      {
         scope: ["invalid.illegal.unrecognized-tag.html"],
         settings: {
            fontStyle: "normal",
         },
      },
   ],
}
